package com.lant.runner;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import com.lant.constant.FieldConstant;
import com.lant.utils.RedisUtil;

/**
 * @description: 项目启动时要执行方法(例如工具类的的service注入)
 * @projectName: lant-service-provider
 * @className: InitApplicationRunner
 * @author: YFL
 * @createTime: 2020年5月20日 下午5:17:42
 */
@Component
public class InitApplicationRunner implements ApplicationRunner {

    @Value("${LANT_TOKEN}")
    private String LANT_TOKEN;
    @Value("${REDIS_USER_SESSION_KEY}")
    private String REDIS_USER_SESSION_KEY;
    @Value("${SSO_SESSION_EXPIRE}")
    private Integer SSO_SESSION_EXPIRE;

    /**
     * REDIS_SERVER_HOST 配置的redis地址
     */
    @Value("${REDIS_SERVER_HOST}")
    private String REDIS_SERVER_HOST;

    /**
     * @Title: run
     * @Description: 项目启动时要执行配置方法
     * @param: args
     * @throws Exception
     * @date: 2020年5月6日 上午11:17:08
     */
    @Override
    public void run(ApplicationArguments args) throws Exception {
        // 静态常量
        FieldConstant.setConstant(LANT_TOKEN, REDIS_USER_SESSION_KEY, SSO_SESSION_EXPIRE);
        // REDIS_SERVER_HOST 配置的redis地址
        RedisUtil.setServerHost(REDIS_SERVER_HOST);
    }
}
